package com.lx.information.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lx.ast.annotated.Describe;
import com.lx.ast.annotated.Relation;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author liuzhiqiang
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class InformationJointCaseVO extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 业务id(雪花) */
    @Excel(name = "业务id(雪花)")
    private Long bid;

    /** 客户名 */
    @Excel(name = "客户名")
    private String customerName;

    /** 客户名(字典值) */
    @Excel(name = "客户名(字典值)")
    @Describe(type="type")
    private String customerNameDict;

    /** 客户手次 */
    @Excel(name = "客户手次")
    private String customerOrder;

    /** 客户手次(字典值) */
    @Excel(name = "客户手次(字典值)")
    @Describe(type="data")
    private String customerOrderDict;

    /** 委外编号 */
    @Excel(name = "委外编号")
    private String externalCode;

    /** 关联用户 */
    @Excel(name = "关联用户")
    @Relation(table="sys_user", alias="userName", showField = "user_name", targetField = "user_id")
    private Long userId;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idNumber;

    /** 姓名 */
    @Excel(name = "姓名")
    private String fullName;

    /** 共案案件开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "共案案件开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date jointCaseStartDate;

    /** 共案案件结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "共案案件结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date jointCaseEndDate;

    /** 备注1 */
    @Excel(name = "备注1")
    private String remarkOne;

    /** 备注2 */
    @Excel(name = "备注2")
    private String remarkTwo;

    /** 备注3 */
    @Excel(name = "备注3")
    private String remarkThree;

    /** 数据状态 */
    @Excel(name = "数据状态")
    @Describe(type="data")
    private String dataState;

    /** 共案身份证号 */
    @Excel(name = "共案身份证号")
    private String jointCaseIdNumber;

    /** 共案案件数量 */
    @Excel(name = "共案案件数量")
    private Integer jointCaseNumber;

    /** 案件金额 */
    @Excel(name = "案件金额")
    private BigDecimal jointCaseAmount;

    /** 回收金额 */
    @Excel(name = "回收金额")
    private BigDecimal recoveryAmount;

    /** 最近还款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最近还款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date latestRepaymentDate;

    /** 最近还款金额 */
    @Excel(name = "最近还款金额")
    private BigDecimal latestRepaymentAmount;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 扩展字段 */
    @Excel(name = "扩展字段")
    private String expandField;

    @Excel(name = "分公司")
    private String branchOffice;

}
